package com.fbs.job.admin.core.entity;
import com.fbs.job.admin.core.enums.ExecutorRouteStrategyEnum;

import java.util.*;

/**
* 描述： fbs_job_info
* @author wwd
* @date 2024-01-31 14:08:16
*/

public class FbsJobInfo {

        /**
        *
        */
        private Integer id;

        /**
        *执行器主键ID
        */

        private Integer jobActuator;

        /**
        *
        */

        private String jobDesc;

        /**
        *
        */

        private Date addTime;

        /**
        *
        */

        private Date updateTime;

        /**
        *作者
        */

        private String author;

        /**
        *报警邮件
        */

        private String alarmEmail;

        /**
        *调度类型
        */

        private String scheduleType;

        /**
        *调度配置，值含义取决于调度类型
        */

        private String scheduleConf;

        /**
        *调度过期策略
        */

        private String misfireStrategy;

        /**
        *执行器路由策略
        */

        private String executorRouteStrategy;

        /**
        *执行器任务handler
        */

        private String executorHandler;

        /**
        *执行器任务参数
        */

        private String executorParam;

        /**
        *阻塞处理策略
        */

        private String executorBlockStrategy;

        /**
        *任务执行超时时间，单位秒
        */

        private Integer executorTimeout;

        /**
        *失败重试次数
        */

        private Integer executorFailRetryCount;

        /**
        *GLUE类型
        */

        private String glueType;

        /**
        *GLUE源代码
        */

        private String glueSource;

        /**
        *GLUE备注
        */

        private String glueRemark;

        /**
        *GLUE更新时间
        */

        private Date glueUpdatetime;

        /**
        *子任务ID，多个逗号分隔
        */

        private String childJobid;

        /**
        *调度状态：0-停止，1-运行
        */

        private int triggerStatus;

        /**
        *上次调度时间
        */

        private long triggerLastTime;

        /**
        *下次调度时间
        */

        private long triggerNextTime;


        public Integer getId() {
                return id;
        }

        public void setId(Integer id) {
                this.id = id;
        }

        public Integer getJobActuator() {
                return jobActuator;
        }

        public void setJobActuator(Integer jobActuator) {
                this.jobActuator = jobActuator;
        }

        public String getJobDesc() {
                return jobDesc;
        }

        public void setJobDesc(String jobDesc) {
                this.jobDesc = jobDesc;
        }

        public Date getAddTime() {
                return addTime;
        }

        public void setAddTime(Date addTime) {
                this.addTime = addTime;
        }

        public Date getUpdateTime() {
                return updateTime;
        }

        public void setUpdateTime(Date updateTime) {
                this.updateTime = updateTime;
        }

        public String getAuthor() {
                return author;
        }

        public void setAuthor(String author) {
                this.author = author;
        }

        public String getAlarmEmail() {
                return alarmEmail;
        }

        public void setAlarmEmail(String alarmEmail) {
                this.alarmEmail = alarmEmail;
        }

        public String getScheduleType() {
                return scheduleType;
        }

        public void setScheduleType(String scheduleType) {
                this.scheduleType = scheduleType;
        }

        public String getScheduleConf() {
                return scheduleConf;
        }

        public void setScheduleConf(String scheduleConf) {
                this.scheduleConf = scheduleConf;
        }

        public String getMisfireStrategy() {
                return misfireStrategy;
        }



        public void setMisfireStrategy(String misfireStrategy) {
                this.misfireStrategy = misfireStrategy;
        }

        public String getExecutorRouteStrategy() {
                return executorRouteStrategy;
        }

        public ExecutorRouteStrategyEnum getExecutorRouteStrategyEnum() {
            return ExecutorRouteStrategyEnum.match(executorRouteStrategy, null);
        }

        public void setExecutorRouteStrategy(String executorRouteStrategy) {
                this.executorRouteStrategy = executorRouteStrategy;
        }

        public String getExecutorHandler() {
                return executorHandler;
        }

        public void setExecutorHandler(String executorHandler) {
                this.executorHandler = executorHandler;
        }

        public String getExecutorParam() {
                return executorParam;
        }

        public void setExecutorParam(String executorParam) {
                this.executorParam = executorParam;
        }

        public String getExecutorBlockStrategy() {
                return executorBlockStrategy;
        }

        public void setExecutorBlockStrategy(String executorBlockStrategy) {
                this.executorBlockStrategy = executorBlockStrategy;
        }

        public Integer getExecutorTimeout() {
                return executorTimeout;
        }

        public void setExecutorTimeout(Integer executorTimeout) {
                this.executorTimeout = executorTimeout;
        }

        public Integer getExecutorFailRetryCount() {
                return executorFailRetryCount;
        }

        public void setExecutorFailRetryCount(Integer executorFailRetryCount) {
                this.executorFailRetryCount = executorFailRetryCount;
        }

        public String getGlueType() {
                return glueType;
        }

        public void setGlueType(String glueType) {
                this.glueType = glueType;
        }

        public String getGlueSource() {
                return glueSource;
        }

        public void setGlueSource(String glueSource) {
                this.glueSource = glueSource;
        }

        public String getGlueRemark() {
                return glueRemark;
        }

        public void setGlueRemark(String glueRemark) {
                this.glueRemark = glueRemark;
        }

        public Date getGlueUpdatetime() {
                return glueUpdatetime;
        }

        public void setGlueUpdatetime(Date glueUpdatetime) {
                this.glueUpdatetime = glueUpdatetime;
        }

        public String getChildJobid() {
                return childJobid;
        }

        public void setChildJobid(String childJobid) {
                this.childJobid = childJobid;
        }

        public int getTriggerStatus() {
                return triggerStatus;
        }

        public void setTriggerStatus(int triggerStatus) {
                this.triggerStatus = triggerStatus;
        }

        public long getTriggerLastTime() {
                return triggerLastTime;
        }

        public void setTriggerLastTime(long triggerLastTime) {
                this.triggerLastTime = triggerLastTime;
        }

        public long getTriggerNextTime() {
                return triggerNextTime;
        }

        public void setTriggerNextTime(long triggerNextTime) {
                this.triggerNextTime = triggerNextTime;
        }
}